The present disclosure relates to a stepping motor driving device and an image forming apparatus including the same, and in particular to an art of a slow-up control or a slow-down control of a stepping motor.
A printer, a copy machine, a facsimile device or a multifunction peripheral which has these functions includes each mechanism, such as a sheet conveying mechanism, which is rotated and driven to convey sheets. As a driving source which supplies a rotation driving force to such a rotation driving mechanism, a stepping motor is widely used.
The stepping motor is a motor which is controlled to be driven by a driving pulse. For example, when a pulse frequency of the driving pulse is decreased, the stepping motor is driven at a low speed, and, when the pulse frequency of the driving pulse is increased, the stepping motor is driven at a high speed.
When the stepping motor is driven at a high speed, the motor cannot be suddenly started at a high speed, and therefore a slow-up control of gradually increasing a pulse frequency of a driving pulse and gradually increasing a rotation speed is performed. By contrast with this, to stop the stepping motor which is rotating at a high speed, the motor cannot be suddenly stopped, and a slow-down control of gradually decreasing a pulse frequency of a driving pulse and gradually decreasing a rotation speed is performed.
Generally, a pulse width used for a driving pulse at each point of time to perform a slow-up control or a slow-down control of a stepping motor is converted into data, and is stored in a table. A stepping motor driving device sequentially reads each data from a table stored in a SRAM (Static Random Access Memory) or the like, and uses a timer function of hardware, such as an ASIC (Application Specific Integrated Circuit), to output a driving pulse of the pulse width corresponding to each read data.
A table length of the table is determined based on a slow-up time, an start-up frequency and a steady frequency. When, for example, a pulse frequency changes from 500 Hz to 4000 Hz during 500 ms, 1000 items or more of data are stored in the table in some cases. When the table length is long, a memory capacity for storing the table length increases, and a writing time for writing the table also increases.
Further, it is possible to shorten the table length by calculating and determining a pulse width per predetermined time based on one basic pulse width using a divider or the like. However, a circuit scale of a divider or the like which performs such calculation becomes large, and therefore it is not practical to mount the divider or the like on a small scale circuit, such as an ASIC or a FPGA (Field Programmable Gate Array).